分类
联系方式
  1. 新浪微博
  2. E-mail

Maxiee 资源精选:Flutter

整体介绍

Flutter 介绍?

Flutter 是什么?

文章 内容概要 评分 延伸资源
谁告诉你 Flutter 会干掉原生开发?
Flutter 毁了客户端和 Web 开发!
Inside Flutter

版本迭代

Flutter 每个版本都更新了啥?

分类 文章 内容概要 延伸资源
综述 Flutter 的 2021 年终总结 awesome-flutter-desktop
2.10

2022.02

稳定支持 Windows、性能改进、Material 3 更新
2.8.0 Flutter 2.8 更新详解
  • 优化启动性能,时长低端减少 50%,高端减少 10%
  • 优化 GC,减少第一桢渲染前 GC,提升启动性能
  • 优化 PlatformView 创建时阻塞平台线程问题
  • DartVM isolate 拆分到单独 bundle,减少 40MB 内存开销
  • 优化 Android 内存占用进一步降低 10%
  • 性能调试:跟踪光栅行为
  • Devtools 升级
    1. 跟踪视图绘制卡顿问题
    2. 启动性能分析
  • FlutterWeb HtmlElementView 性能优化
  • WebView 3.0 新功能,支持 Flutter Web
  • Flutter Favorite 最佳实践更新
  • 废弃 dev channel
2.5.0 Flutter 2.5 更新详解
  • Dart 2.14
  • 改进着色器、内存回收、iOS 性能优化
  • 优化 UI Isolate 事件循环调度策略,降低卡顿
  • 图片内存快速回收,减少 GC 次数:降低卡顿、CPU、电量
  • 降低 Dart 与原生通信延迟,最高 50%
  • 完善 Android 全屏模式支持
  • 相机模块完善
Improving Platform Channel Performance in Flutter
2.2.0
  • Dart 2.13
  • Flutter Web 增强调试和无障碍
  • 桌面端优化
  • Android 延迟加载组件
2.0.0
  • Flutter Web 稳定版发布
  • 引入 Null Safety
  • 混合开发支持多 Flutter 页面,显著降低内存
  • Flutter fix 命令
  • DevTools 升级

跨端框架大 PK

文章 内容概要 评分 延伸资源
Flutter 与 React Native 怎么选择?全面PK看看谁能取胜!

大厂落地

综述

文章 内容概要 评分 延伸资源
国内大厂应用在移动端 Flutter 框架使用分析
  • 2021-09-27 根据 iOS APP 包分析统计
  • 阿里:淘宝、咸鱼、盒马、UC、饿了么、饿了么商家、菜鸟裹裹
  • 腾讯:微信、QQ、企业微信、QQ 邮箱
  • 美团:美团商家
  • 快手:快手
  • 京东:京东
  • Bilibili:B站漫画
  • 百度:百度网盘
  • 新浪:微博
  • 金山:WPS
  • 其它:哈罗、学习强国、链家、同花顺

阿里系

文章 内容概要 评分 延伸资源
打破重重阻碍,Flutter 和 Web 生态如何对接?

2022-03-06

学习 Flutter 技术栈的成本投入
阿里卖家 Flutter for Web 工程实践

2022-02-25

遇到的问题:
  1. 包大小问题,1.2MB
  2. 白屏等待
  3. JS 拆包、优化
  4. WebView 兼容性问题
基于 Flutter 的 Web 渲染引擎「北海」正式开源!

2021-04-21

阿里IM技术分享(二):闲鱼IM基于Flutter的移动端跨端改造实践

2021

Flutter 在阿里淘系的体系化建设和业务实践

2020-09-17

里面指向了很多其它文章
一文看完阿里巴巴 AliFlutter 客户端研发体系

2020-06-29

内有一本电子书《AliFlutter 体系化建设和实践》
阿里集团内如何进行Flutter体系化建设?

2020-04-02

闲鱼 Flutter 架构演进和实践

2019-12-06

腾讯系

文章 内容概要 评分 延伸资源
企业微信超大型工程-跨全平台UI框架最佳实践
  • EngineGroup 新增一个引擎内存增大 4MB
  • 重度使用 Flutter 调 C++
  • 调试工具:功能比较全面,都是比较实用的工具
Flutter 能热更了! 腾讯手机QQ开源动态化框架 MXFlutter

2020-02-16

美团系

文章 内容概要 评分 延伸资源
FlutterWeb性能优化探索与实践

2021-12-16

JS 框架大小从 1.2MB 减小到 0.7MB
迈向Flutter深水区:美团外卖Web-App一体化架构实践

2021-03-30

FlutterWeb在美团外卖的实践

2021-03-18

纯 Dart 的挑战:美团外卖 Flutter 动态化实践

2020-12-08

外卖客户端容器化架构的演进

2020-09-30

美团外卖Flutter动态化实践

2020-06-23

MTFlutter:美团外卖 Flutter 容器化生态建设实践 视频分享

字节跳动

文章 内容概要 评分 延伸资源
字节跳动正式开源其 Flutter 调试工具 UME

2021-07-27

Flutter 在字节跳动的现状与工程实践

2020-03-02

跨平台技术趋势及字节跳动 Flutter 架构实践]

2019-12-04

GitYuan 有视频
让Flutter真正支持View级别的混合开发

2019-03-11

  • 尝试做 View 级别嵌入
  • 介绍了当时混合栈方案:
    • FlutterView 全局共享,动态注入顶层 Activity
    • 采用截图保留残影
  • 场景:
    • 自定义视图级别的 Flutter 嵌入
    • Feed 流 Flutter Cell 嵌入
  • Framework 和 Engine 通过 Window 链接(window.dart,window.cc)
    • 两者相互对应的代码展示
  • 方案
    • Dart 侧存在多个 Window 实例
    • 多个 Window 跑在一个 Isolate 里
    • 多FlutterView对应多FlutterEngine然后共享Isolate
    • 对这个方案没看明白,多引擎怎么共享 isolate 的?
Custom Widgets in Flutter]
  • 邀请到 Google Flutter 团队工程师 Justin McCandless
  • 分享 Flutter 开发自定义组件
字节跳动Flutter架构实践
字节跳动 Flutter 基础架构团队为你解答
亮相Google I/O,字节跳动是这样应用Flutter的

Flutter 开发

第三方库合集

文章 内容概要 评分 延伸资源
2020年20个Flutter最漂亮的UI库和项目

布局

文章 内容概要 评分 延伸资源
深入理解Flutter布局约束

原生通信

分类 文章 内容概要 评分 延伸资源
Pigeon Flutter 插件开发神器Pigeon

2022-03-23

  • 注解生成模板代码,统一规范,减少写重复代码

WebView

文章 内容概要 评分 延伸资源
Flutter webview和网页交互

2022-03-25

  • 参考 JSBridge 实现 WebView 端通信
  • 在 Flutter 里写 JSBridge
  • 基于 flutter_webview_plugin 组件
  • 提供了 JavaScriptChannel

引擎架构

原理概览

文章 内容概要 评分 延伸资源
每个 Flutter 开发者都应该知道的框架总览 引用了2个 Embedder 扩展的项目

Engine 编译调试

分类 文章 内容概要 评分 延伸资源
调试 Flutter进阶-引擎源码调试

2022-03-30

  • 通过 lldb 下断点调试
  • Channel 实现机制梳理
2.1 Flutter源码调试

2022-04-01

通过 LLDB 在 VS Code 里调试 Flutter Engine C/C++ 源码

多实例

文章 内容概要 评分 延伸资源
多个 Flutter 页面或视图
  • 两种场景:
    • 混合跳转:Native、Flutter、Native、Flutter
    • 多个 Flutter View 同一页面,同时展示
  • Flutter2 增加实例内存增加 180KB(限于 AOT 模式)
  • 基于 FlutterEngineGroup 创建引擎
  • 多实例通信问题,issue 72209 跟踪
  • 多实例 Demo
Lightweight Flutter Engines #72009
轻引擎(多实例)设计文档
  • 之前的混合开发模式叫 add-to-app
  • 官方口径启动耗时 237ms
  • 官方口径内存开销 17.86MB
  • 开发者引擎复用、混合路由方式,问题多
  • 设计问题:针对单实例全屏 App
  • 解法:
    • 引擎初始化更快
    • 多引擎内存开销更小
    • 更加容易使用多引擎
    • 引擎间于宿主数据共享更容易
  • 多引擎组件复用图,很清晰
  • 每入栈一个 FlutterViewController 内存增大 9MB
    • 共享实例之后就没有这部分开销了
  • Shell 创建异步化,加快 Shell 创建
  • View 级别搭载引擎,局部 Flutter 视图
  • Software Transactional Memory 多引擎数据共享
  • Multi-Surface-Single-Engine
    • 提出的另一种思路,一个引擎,创建多 Surface
    • 为什么没有采用
      • 多实例数据隔离效果好
      • 同一个引擎 Channel 分发问题
      • UI 线程中并行执行任务
      • 工作量更低
      • 认知更简单
  • 在 Demo 里,上下同时显示两个 Flutter 界面,可以同时响应交互
Multiple Flutters 设计文档

文本渲染

我对Flutter的第一次失望
  • 简单介绍 Flutter 文本渲染原理
  • 展示 Flutter 文本渲染能力和问题